#define _CRT_SECURE_NO_WARNINGS 1
#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int N = 100010;
ll a[N], s[N], L, n, k, maxx;

bool check(int x) {
	ll cnt = 0;
	for (int i = 1; i <= n; i++) {
		if (s[i] > x) {
			cnt++;
			int num = s[i] - x;
			while (num > x) {
				cnt++;
				num -= x;
			}
		}
	}
	if (cnt <= k) return true;
	else return false;
}

int main() {
	cin >> L >> n >> k;
	for (int i = 1; i <= n; i++) {
		cin >> a[i];
		s[i] = a[i] - a[i - 1];
	}
	int l = 0, r = L;
	while (l + 1 < r) {
		int mid = (l + r) >> 1;
		if (check(mid)) r = mid;
		else l = mid;
	}
	cout << r << endl;
	return 0;
}